package exception;
/*常见面试问题
 * 1:请分别说明final,finally,finalize是什么?
 *   finalize是Object中定义的一个方法,该方法是一个对象生命周期中最后一个方法,被GC调用.
 *   当GC扫描内存发现一个对象不在被引用时就会将其回收,回收前会调用该对象的finalize方法,调用后即将对象回收销毁.
 */
public class FinallyDemo2 {
    public static void main(String[] args) {
        System.out.println(
                test("0")+","+test(null)+","+test("")
        );

    }

    public static int test(String s) {
        try {
            return s.charAt(0) - '0';
        } catch (NullPointerException e) {
            return 1;
        } catch (Exception e) {
            return 2;
        } finally {
            return 3;
        }
    }
}